package com.pudu.mydemo.nativeClass;

import com.tool.Coordinate;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;


public class NativeClass {
	
	
	public static native double[] getSum(double []a);

    public static native double getString(double a);

	//Vector3d aim_point (Vector3d pos, Vector3d dir);
	public static native double[] cAimPoint(double[] pos,double[] dir);

	//motion_control(vector<Vector3d> path);
	public static native void cMotionControl(double[] path);

	public static native void cSetForesee(double foresee);

	public static native void cSetSpeed(double speed);

	public static native void cSetKp(double Kp);

    public static native void cSetKd(double Kd);

    public static native void cSetFocal(double a_c);

	//vector<double> track (Vector3d pos, Vector3d dir);
	public static native double[] cTrack(double[] pos,double[] dir);

	//localization (vector<Vector3d> uwbs, double high);
    public static native void cLocalization(double[] uwbs,double high);

    //Vector3d locate_tag (vector<double> distance);
    public static native double[] cLocateTag(double[] distance);

    //void init_pose (Vector3d center, Vector3d tag);
    public static native void cInitPose(double[] center, double[] tag);

    //void locate (vector<double> distance);
    public static native void cLocate(double[] distance);

    public static native double[] cGetDir();

    public static native double[] cGetTag();

    public static native double[] cGetCenter();

    public static native void cSetWheelSpeed(double left, double right);

    public static native void cSetWheelSpeed2(double left, double right, double angle, double ratio);

    public static native void cSetNoSigThreshold(double threshold);

    public static native void cDraw(double sclae);

    public static native void cSetK(int k,double value);

    public static native void cGetLidarData(List<Coordinate> lidarData);
}
